#ifndef RED_PROTOCOLO_H
#define RED_PROTOCOLO_H

#include "red_socket.h"
#include "red_imsgsal.h"
#include "red_msgparser.h"
#include <string>

using namespace red::sockets;
using namespace red::protocolo;
using namespace red::protocolo::mensajes::salida;
using namespace std;

class JuegoClientImp;

namespace red {
namespace protocolo {

class Protocolo {

public:

    Protocolo(Socket *p_pSocket, JuegoClientImp* juego);
    ~Protocolo();

	bool bEnviarMensaje(IMsgSal *p_pMsgSal);
	bool bRecibirMensaje();

	bool bEnviarPaquete(const string &p_sBuffer);
private:

	bool bRecibirPaquete(string &p_sPaquete);

	Socket *m_pSocket;
	JuegoClientImp* juego;
};

}
}

#endif
